#include<stdio.h>
#include<string.h>


//数组实现 stract_1  
char*stract_1(char a[],char b[])
{
  int i = 0,j = 0;
  while (a[i] != '\0')
  {
    i++;
  }

  while ((a[i++] = b[j++]) != 0)
  {

  }
}  
// 使用指针实现的 strcat_2 函数
char* strcat_2(char *a, char *b) {
    char *ptr = a;
    // 找到字符串 a 的结尾
    while (*ptr != '\0') 
    {
        ptr++;
    }
    // 将字符串 b 连接到字符串 a 之后
    while (*b != '\0')
     {
        *ptr = *b;
        ptr++;
        b++;
    }
    *ptr = '\0'; // 确保字符串以空字符结尾
    return a;
}

int main() 
{
    char d[40] = "Golden";
    char s[] = "View";

    // 测试 strcat_1
    strcat_1(d, s);
    printf("After strcat_1: %s\n", d); // 输出应为 "GoldenView"

    // 重新初始化 d
    strcpy(d, "Golden");

    // 测试 strcat_2
    strcat_2(d, s);
    printf("After strcat_2: %s\n", *d); // 输出应为 "GoldenView"

    return 0;
}